// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.statement.SQLTableSource;
// import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleUpdateStatement;
// import com.alibaba.druid.sql.parser.Lexer;
// import com.alibaba.druid.sql.parser.ParserException;
// import com.alibaba.druid.sql.parser.SQLStatementParser;
// import com.alibaba.druid.sql.parser.Token;
#pragma once
#include "../../../parser/SQLStatementParser.h"

class OracleUpdateParser : virtual public SQLStatementParser
{
public:
  OracleUpdateParser(string_ptr sql);

  OracleUpdateParser(Lexer_ptr lexer);

  SQLUpdateStatement_ptr parseUpdateStatement();

  void parseErrorLoging(OracleUpdateStatement_ptr update);

  void parseReturn(OracleUpdateStatement_ptr update);

  void parseHints(OracleUpdateStatement_ptr update);

  void parseWhere(OracleUpdateStatement_ptr update);
};
